package com.probiz.estore.common.model.system.base;

import java.io.Serializable;

import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;

/**
 * CompanyInfo Base Java Bean, base class for the model, mapped directly to database table
 * 
 * Avoid changing this file if not necessary, will be overwritten. 
 *
 */
public class CompanyInfoTbl extends com.probiz.estore.core.model.BaseObject implements Serializable {

    private Integer companyId;
	private String companyName;
	private String countryName;
	private String stateName;
	private String cityName;
	private String address;
	private String phone;
	private String email;
	private String fax;
	private String zip;
	private String logo;
	private String reserve1;
	private String reserve2;
	private String qq;
	private String msn;
	private String telephoneHotLine;
	private String footContext;
	


	public String getQq() {
		return qq;
	}

	public void setQq(String qq) {
		this.qq = qq;
	}

	public String getMsn() {
		return msn;
	}

	public void setMsn(String msn) {
		this.msn = msn;
	}

	public String getTelephoneHotLine() {
		return telephoneHotLine;
	}

	public void setTelephoneHotLine(String telephoneHotLine) {
		this.telephoneHotLine = telephoneHotLine;
	}

	/**
	 * Default Empty Constructor for class CompanyInfo
	 */
	public CompanyInfoTbl () {
		super();
	}
	
	/**
	 * Default Key Fields Constructor for class CompanyInfo
	 */
	public CompanyInfoTbl (
		 Integer in_companyId
        ) {
		this.setCompanyId(in_companyId);
    }

    

	/**
	 * 
	 * @return Integer
     * @hibernate.id column="companyId" type="java.lang.Integer" generator-class="native"
	 */
	public Integer getCompanyId() {
		return this.companyId;
	}
	
	/**
	 * Set the companyId
	 */	
	public void setCompanyId(Integer aValue) {
		this.companyId = aValue;
	}	

	/**
	 * 
	 * @return String
	 * @hibernate.property column="companyName" type="java.lang.String" length="32" not-null="true" unique="false"
	 */
	public String getCompanyName() {
		return this.companyName;
	}
	
	/**
	 * Set the companyName
	 * @spring.validator type="required"
	 */	
	public void setCompanyName(String aValue) {
		this.companyName = aValue;
	}	

	/**
	 * 
	 * @return String
	 * @hibernate.property column="countryName" type="java.lang.String" length="64" not-null="false" unique="false"
	 */
	public String getCountryName() {
		return this.countryName;
	}
	
	/**
	 * Set the countryName
	 */	
	public void setCountryName(String aValue) {
		this.countryName = aValue;
	}	

	/**
	 * 
	 * @return String
	 * @hibernate.property column="state" type="java.lang.String" length="64" not-null="false" unique="false"
	 */
	public String getStateName() {
		return this.stateName;
	}
	
	/**
	 * Set the state
	 */	
	public void setStateName(String aValue) {
		this.stateName = aValue;
	}	

	/**
	 * 
	 * @return String
	 * @hibernate.property column="city" type="java.lang.String" length="64" not-null="false" unique="false"
	 */
	public String getCityName() {
		return this.cityName;
	}
	
	/**
	 * Set the city
	 */	
	public void setCityName(String aValue) {
		this.cityName = aValue;
	}	

	/**
	 * 
	 * @return String
	 * @hibernate.property column="address" type="java.lang.String" length="128" not-null="false" unique="false"
	 */
	public String getAddress() {
		return this.address;
	}
	
	/**
	 * Set the address
	 */	
	public void setAddress(String aValue) {
		this.address = aValue;
	}	

	/**
	 * 
	 * @return String
	 * @hibernate.property column="phone" type="java.lang.String" length="128" not-null="false" unique="false"
	 */
	public String getPhone() {
		return this.phone;
	}
	
	/**
	 * Set the phone
	 */	
	public void setPhone(String aValue) {
		this.phone = aValue;
	}	

	/**
	 * 
	 * @return String
	 * @hibernate.property column="email" type="java.lang.String" length="32" not-null="false" unique="false"
	 */
	public String getEmail() {
		return this.email;
	}
	
	/**
	 * Set the email
	 */	
	public void setEmail(String aValue) {
		this.email = aValue;
	}	

	/**
	 * 
	 * @return String
	 * @hibernate.property column="fax" type="java.lang.String" length="32" not-null="false" unique="false"
	 */
	public String getFax() {
		return this.fax;
	}
	
	/**
	 * Set the fax
	 */	
	public void setFax(String aValue) {
		this.fax = aValue;
	}	

	/**
	 * 
	 * @return String
	 * @hibernate.property column="zip" type="java.lang.String" length="6" not-null="false" unique="false"
	 */
	public String getZip() {
		return this.zip;
	}
	
	/**
	 * Set the zip
	 */	
	public void setZip(String aValue) {
		this.zip = aValue;
	}	

	/**
	 * 
	 * @return String
	 * @hibernate.property column="reserve1" type="java.lang.String" length="32" not-null="false" unique="false"
	 */
	public String getReserve1() {
		return this.reserve1;
	}
	
	/**
	 * Set the reserve1
	 */	
	public void setReserve1(String aValue) {
		this.reserve1 = aValue;
	}	

	/**
	 * 
	 * @return String
	 * @hibernate.property column="reserve2" type="java.lang.String" length="32" not-null="false" unique="false"
	 */
	public String getReserve2() {
		return this.reserve2;
	}
	
	/**
	 * Set the reserve2
	 */	
	public void setReserve2(String aValue) {
		this.reserve2 = aValue;
	}	

	/**
	 * @see java.lang.Object#equals(Object)
	 */
	public boolean equals(Object object) {
		if (!(object instanceof CompanyInfoTbl)) {
			return false;
		}
		CompanyInfoTbl rhs = (CompanyInfoTbl) object;
		return new EqualsBuilder()
				.append(this.companyId, rhs.companyId)
				.append(this.companyName, rhs.companyName)
				.append(this.countryName, rhs.countryName)
				.append(this.stateName, rhs.stateName)
				.append(this.cityName, rhs.cityName)
				.append(this.address, rhs.address)
				.append(this.phone, rhs.phone)
				.append(this.email, rhs.email)
				.append(this.fax, rhs.fax)
				.append(this.zip, rhs.zip)
				.append(this.reserve1, rhs.reserve1)
				.append(this.reserve2, rhs.reserve2)
				.append(this.logo, rhs.logo)
				.isEquals();
	}

	/**
	 * @see java.lang.Object#hashCode()
	 */
	public int hashCode() {
		return new HashCodeBuilder(-82280557, -700257973)
				.append(this.companyId) 
				.append(this.companyName) 
				.append(this.countryName) 
				.append(this.stateName) 
				.append(this.cityName) 
				.append(this.address) 
				.append(this.phone) 
				.append(this.email) 
				.append(this.fax) 
				.append(this.zip) 
				.append(this.reserve1) 
				.append(this.reserve2)
				.append(this.logo)
				.toHashCode();
	}

	/**
	 * @see java.lang.Object#toString()
	 */
	public String toString() {
		return new ToStringBuilder(this)
				.append("companyId", this.companyId) 
				.append("companyName", this.companyName) 
				.append("countryName", this.countryName) 
				.append("state", this.stateName) 
				.append("city", this.cityName) 
				.append("address", this.address) 
				.append("phone", this.phone) 
				.append("email", this.email) 
				.append("fax", this.fax) 
				.append("zip", this.zip)
				.append("imageUrl",this.logo)
				.append("reserve1", this.reserve1) 
				.append("reserve2", this.reserve2) 
				.toString();
	}

	/**
	 * Return the name of the first key column
	 */
	public String getFirstKeyColumnName() {
		return "companyId";
	}
	
	/**
	 * Return the Id (pk) of the entity, must be Integer
	 */
	public Integer getId() {
		return companyId;
	}

	public String getLogo() {
		return logo;
	}

	public void setLogo(String logo) {
		this.logo = logo;
	}

	public String getFootContext() {
		return footContext;
	}

	public void setFootContext(String footContext) {
		this.footContext = footContext;
	}

	
}